iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
自我挑戰組

30天Java由淺入深系列 第 11

Day 11 : 函數

  • 分享至 

  • xImage
  •  

介紹

前7章介紹了關於Java的基本語法,接著要導入另外一個重要的觀念「函數」。


不論是新手或工程師在撰寫程式時,都會遇到一支很冗長的程式碼,有很多功能、變數要去設計,此時的解決方法會將這些需求,在程式裡切割成不同的子區塊,這些小區塊可能是功能整合或會不斷被呼叫的內容,我們將此稱為--函數。
當遇到問題必須被解決時,可以直接呼叫相對應的函數,且這些函數一定是屬於類別(class)中。依照其使用方法又可分為兩種 :

  1. 靜態(static)執行方法
  2. 物件執行方法
  • 上述兩種最大的差異在於,靜態方法不需要額外產生物件(object),可以直接透過類別(class)存取。反之,要透過類別去設置一個物件,才能被呼叫。

函數

此處繼續介紹幾個函數重要的概念:

  1. 回傳值(return value)
    →呼叫函數後,函數回傳的內容,需在需告函數時設定回傳類型(return value type)。
  2. 引數與參數(Arguments and Parameters)
    →呼叫函數的同時傳入的內容叫做引數(Arguments),函數內接收引數的變數稱為參數(Parameters)。
  3. 存取類型(Access Type)
    →靜態或物件執行方法
Access_Type Return_Value_Type Function_Name (Parameters){
		/*.................
		...Description...
		.................*/
		return value;       //Not necessary
}

static void MyFirstMethod(){
	System.out.println("Hello World!");
}
  • 程式解析 : 可以簡單看到上述程式碼,我們會發現沒有參數值和回傳內容 ? 因為當我們在主程式或其他函數中呼叫此函數時,若沒有傳入引數,表示此部分不需要接收任何變數 : 而因為我們將此函數的回傳值類型宣告為’’’void’’’,所以不用回傳任何內容給原呼叫此函數的變數。
    回傳值類型(Return Value Type) : voidbyteshortintlongfloatdoubleStringchar
    存取類型(Access Type) : publicprivatedefaultprotectedstatic
public class Main{
	static int Compare(int Agrade,int Bgrade){
		int winner;
		winner = Math.max(Agrade,Bgrade);
		return winner;
	}
	public static void main(String[] args){
		int[] student={0,0};
    int temp,winner;
		for(temp=0 ; temp<2 ; temp++){
			student[temp] = (int)(Math.random() * 101 );
		}
		winner = Compare(student[0],student[1]);
		System.out.println("The highest grade is : " + winner);
	}
}
  • 程式解析 : 運用函數觀念比較兩隨機變數大小,傳入兩引數,由Agrade、Bgrade參數儲存,最後再傳回給主程式的winner接收。

以上內容若有錯誤,煩請不吝嗇告知,謝謝您!!!/images/emoticon/emoticon37.gif


上一篇
Day 10 : 陣列
下一篇
Day 12 : 引數與參數
系列文
30天Java由淺入深30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
鰻魚燒
iT邦新手 4 級 ‧ 2022-12-11 21:40:11

→存取類型(Access Type) : void、byte、short、int、long、float、double、String、char
→回傳值類型(Return Value Type) : public、private、default、protected、static

上面這兩個舉例,理論上應該是有寫反了

我要留言

立即登入留言